﻿using MapMaker.Engine.CoreCommon;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace MapMaker.Engine.Model.VXAce
{
    public class RPG_Animation
    {
        [RubyProperty("id")]
        public int ID { get; set; }

        [RubyProperty("name")]
        public string Name { get; set; }

        [RubyProperty("animation1_name")]
        public string Animation1Name { get; set; }

        [RubyProperty("animation1_hue")]
        public int Animation1Hue { get; set; }

        [RubyProperty("animation2_name")]
        public string Animation2Name { get; set; }

        [RubyProperty("animation2_hue")]
        public int Animation2Hue { get; set; }

        [RubyProperty("position")]
        public int Position { get; set; }

        [RubyProperty("frame_max")]
        public int FrameMax { get; set; }

        [RubyProperty("frames")]
        public List<RPG_Frame> Frames { get; set; }

        [RubyProperty("timings")]
        public List<RPG_Timing> Timings { get; set; }

        public class RPG_Frame
        {
            [RubyProperty("cell_max")]
            public int CellMax { get; set; }

            [RubyProperty("cell_data")]
            public object CellData { get; set; }
        }

        public class RPG_Timing
        {
            [RubyProperty("frame")]
            public int Frame { get; set; }

            [RubyProperty("se")]
            public RPG_SE SoundEffect { get; set; }

            [RubyProperty("flash_scope")]
            public int FlashScope { get; set; }

            [RubyProperty("flash_color")]
            public object FlashColor { get; set; }

            [RubyProperty("flash_duration")]
            public int FlashDuration { get; set; }
        }


        internal static IEnumerable<dynamic> Export(IObjectManager factory, IEnumerable list)
        {
            throw new NotImplementedException();
        }

    }
}
